package com.zenithmind.gateway.config;

import org.springframework.boot.context.properties.ConfigurationProperties;
import lombok.Data;

import java.util.Map;
import java.util.List;
import java.util.HashMap;

/**
 * 网关路由配置属性类
 * 专门负责从配置文件中读取路由映射配置
 * 遵循单一职责原则：只负责配置属性的管理
 */
@Data
@ConfigurationProperties(prefix = "zenithmind.gateway")
public class GatewayRouteProperties {

    /**
     * 服务路由映射配置
     * 格式为: {服务名: [API路径前缀列表]}
     */
    private Map<String, List<String>> serviceRoutes = new HashMap<>();

    /**
     * 网关认证配置
     */
    private AuthConfig auth = new AuthConfig();

    @Data
    public static class AuthConfig {
        /**
         * 是否启用网关认证
         */
        private boolean enabled = false;
    }
}
